package com.sugar.subscribe.course.module.business.controller.app.coach.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Schema(description = "APP - 教练信息 Request VO")
@Data
public class AppBizCoachDetailRespVO {

    @Schema(description = "教练ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long id;

    @Schema(description = "昵称")
    private String nickname;

    @Schema(description = "头像")
    private String avatar;

    @Schema(description = "性别 1男 2女")
    private Integer gender;

    @Schema(description = "总评分")
    private BigDecimal totalScore;

    @Schema(description = "人均价格（单位分）")
    private Integer perCapitaPrice;

    @Schema(description = "平均接单时间（单位：分钟）")
    private Integer avgAcceptTime;

    @Schema(description = "标签")
    private List<String> tags;

    @Schema(description = "个人简介")
    private String personalProfile;

    @Schema(description = "教练展示图")
    private List<String> showImages;

    @Schema(description = "可约区域")
    private List<String> venues;

    @Schema(description = "课程方案")
    private List<PlanRespVO> plans;


    @Schema(description = "最新展示视频")
    private String lastVideo;

    @Schema(description = "评论总数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long commentCount;

    @Schema(description = "最低价格（单位：元）")
    private BigDecimal minPrice;

    @Schema(description = "最近一次的评论内容")
    private String commentContent;

    @Schema(description = "证书列表")
    private List<String> certificates;

    @Schema(description = "评论的用户头像")
    private List<String> commentAvatarUsers;

    @Data
    public static class PlanRespVO {

        @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27319")
        private Long id;

        @Schema(description = "授权服务分类ID（服务一级分类ID）", requiredMode = Schema.RequiredMode.REQUIRED, example = "16666")
        private Long servicePId;

        @Schema(description = "授权服务分类ID（服务二级分类ID）", requiredMode = Schema.RequiredMode.REQUIRED, example = "16666")
        private Long serviceId;

        @Schema(description = "授权服务分类名称（二级）", requiredMode = Schema.RequiredMode.REQUIRED, example = "16666")
        private String serviceName;

        @Schema(description = "课程人数（字典：business_coach_service_people_count）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1752")
        private String peopleCount;

        @Schema(description = "课程时间（字典：business_coach_service_time）", requiredMode = Schema.RequiredMode.REQUIRED)
        private String serviceTime;

        @Schema(description = "课程价格（单位：元）", requiredMode = Schema.RequiredMode.REQUIRED, example = "14027")
        private BigDecimal amount;
    }
}